const { defineConfig } = require("@vue/cli-service");
const AutoImport = require("unplugin-auto-import/webpack");
const Components = require("unplugin-vue-components/webpack");
const { ElementPlusResolver } = require("unplugin-vue-components/resolvers");
const defaultProxy = require("./proxy.js");
console.log("当前环境模式", process.env.NODE_ENV); // 输出当前环境模式
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: "warning", // 保存时仅警告不阻断
  devServer: {
    client: {
      overlay: {
        warnings: false, // 关闭浏览器控制台编译警告覆盖层
        errors: true // 保留编译错误覆盖层
      }
    },
    hot: true, // 启用热更新
    open: true, // 自动打开浏览器
    proxy: { ...defaultProxy }
  },
  css: {
    loaderOptions: {
      scss: {
        /***
         * 向全局sass样式传入共享的全局变量, 将 @import 替换为 @use 语法
         * 建议保留 sass:math 等核心模块的显式引入
         * 注意：如果 common.scss 中使用了下划线命名（如 _common.scss），引用时需要去掉下划线
         *
         */
        additionalData: `
          @use "sass:math";
          @use "@/styles/common" as *;
          `
      }
    }
  },
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [ElementPlusResolver()]
      }),
      Components({
        resolvers: [ElementPlusResolver()]
      })
    ]
  }
});
